---
title: PdfAPI.SyncFusionCore overview
summary: High-level purpose, scope, and responsibilities for this library.
status: draft
owner: SAIF Doc Gen
last_reviewed: 2026-09-17
library: PdfAPI.SyncFusionCore
reference_type: package
---

# PdfAPI.SyncFusionCore overview

> **Documentation context:** Packaged Component (NuGet)
> **Documented via:** PdfAPI (PdfAPI\PdfAPI.csproj)

`PdfAPI.SyncFusionCore` is the Syncfusion-backed PDF engine of the IT.CoreServices.PDFAPI repository. It converts eight source document formats to PDF or PDF/A, extracts page ranges from a source PDF, merges multiple document ranges into one PDF, flattens AcroForm fields, and registers the Syncfusion runtime license. It is shipped both as a project reference consumed by the `PdfAPI` Web API and, packaged together with `PdfAPI.Core`, as the `Pdf.Local.Client` NuGet package — so its full public API is documented here.

## Purpose
- Convert Word, Excel, RTF, plain text, image, TIFF, HTML, and PDF source documents to PDF or
  PDF/A using the Syncfusion 18.3 SDK.
- Extract selected page ranges from a source PDF into a new PDF, including ascending/descending
  ranges and open-ended stop pages.
- Merge multiple document ranges into a single PDF, optionally at PDF/A conformance.
- Inspect and flatten AcroForm form fields in a PDF, and build diagnostic exception-detail records
  for callers.
- Register the Syncfusion runtime license once per process before any Syncfusion API is used.
- Consumed both as a project reference by the `PdfAPI` Web API (`SyncfusionPdfService`,
  `PdfService`) and, packaged as `Pdf.Local.Client`, by external NuGet consumers.

## Responsibilities
- Dispatch a conversion request to the converter matching the source file extension.
- Own the template-method conversion pipeline (timing, error capture, result assembly) shared by
  all eight format converters.
- Compose PDF output from page ranges and multi-document merges.
- Provide AcroForm inspection/flattening and license registration utilities.
- Perform no database access, no authentication, and no authorization work — access control for
  these operations is entirely the responsibility of the hosting `PdfAPI` application.

## Key components
- `ConverterFactory`: extension-to-converter dispatch; entry point for all format conversions.
- `BaseConverter`: template-method base for the eight format converters (physically compiled into
  this project but declares the namespace `PdfAPI.Core.Convert`)*.
- `WordConverter`, `ExcelConverter`, `RtfConverter`, `TxtConverter`, `ImageConverter`,
  `TiffConverter`, `HtmlConverter`, `PdfConverter`: format-specific byte-array producers.
- `PdfExtractor`: page-range extraction from a source PDF.
- `PdfMerger`: multi-document merge with optional PDF/A conformance; the library's only
  constructor-injected type (`IEnvironmentService`, `ILogService`).
- `PdfHelper`: AcroForm inspection/flattening and exception-detail construction.
- `LicenseHelper`: Syncfusion runtime license registration.

## Related documentation
- [Index](index.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [API reference](api/index.md)

> **Note:** Statements marked with * were inferred from code structure, naming conventions, or
> contextual evidence where direct confirmation was not available in source artifacts.

## Sources
- `PdfApi.SyncFusionCore\PdfAPI.SyncFusionCore.csproj`
- `PdfApi.SyncFusionCore\packages.config`
- `PdfApi.SyncFusionCore\Convert\BaseConverter.cs`
- `PdfApi.SyncFusionCore\Convert\ConverterFactory.cs`
- `PdfApi.SyncFusionCore\Merge\PdfMerger.cs`
- `PdfApi.SyncFusionCore\Extract\PdfExtractor.cs`
- `PdfApi.SyncFusionCore\PdfHelper.cs`
- `PdfApi.SyncFusionCore\LicenseHelper.cs`
- `PdfAPI\Services\Syncfusion\SyncfusionPdfService.cs`
- `PdfAPI\Services\PdfService.cs`
- `Scripts\Pdf.Local.Client\Pdf.Local.Client.nuspec`
